package com.xiaohua.system.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.xiaohua.common.annotation.Excel;
import com.xiaohua.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Builder;
import lombok.Data;

/**
 * 用户管理对象 xh_users
 *
 * @author 小花
 * @date 2025-03-22
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder

public class XhUsers extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户ID */
    private Long userId;

    /** 用户名 */
    @Excel(name = "用户名" )
    private String username;

    /** 密码，需加密存储 */
    @Excel(name = "密码，需加密存储" )
    private String password;

    /** 微信openid */
    @Excel(name = "微信openid" )
    private String openid;

    /** 剩余调用次数 */
    @Excel(name = "剩余调用次数" )
    private Long tokens;

    /** 用户描述 */
    @Excel(name = "用户描述" )
    private String description;

    /** 用户昵称 */
    @Excel(name = "用户昵称" )
    private String nickname;

    /** 手机号 */
    @Excel(name = "手机号" )
    private String mobile;

    /** 用户头像URL */
    @Excel(name = "用户头像URL" )
    private String avatar;

    /** 帐号状态 */
    @Excel(name = "帐号状态" )
    private String status;

    /** 用户邮箱 */
    @Excel(name = "用户邮箱" )
    private String email;

    /** 用户创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" )
    @Excel(name = "用户创建时间" , width = 30, dateFormat = "yyyy-MM-dd" )
    private Date createdAt;

    /** 用户更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" )
    @Excel(name = "用户更新时间" , width = 30, dateFormat = "yyyy-MM-dd" )
    private Date updatedAt;

    /** 用户IP */
    @Excel(name = "用户IP" )
    private String userIp;

    /** 操作记录信息 */
    private List<XhOperations> xhOperationsList;

}
